#!/usr/bin/python
# -*- coding: UTF-8 -*-

"""
语音文字识别
"""
from faster_whisper import WhisperModel

voice_path = "E:\\learn\\!!!git\\20240603-1339\\tzq-learn\\小说\\女人敢问你多高，5句话暧昧拉满.wav"  # 你得音频地址
model_size = "large-v3"  # 这是个模型名称，一般用这个就行，其余还有，可以查看github上介绍，执行的时候，会自动下载模型文件，好几个G，比较大
# 我测试机器上是用这个CPU跑的，GPU比较垃圾，不支持int8_float16混合算法
model = WhisperModel(model_size, device="cpu", compute_type="int8")
# 或者在GPU上用INT8跑
# model = WhisperModel(model_size, device="cuda", compute_type="int8_float16")
# 或者在CPU上用INT8跑
# model = WhisperModel(model_size, device="cpu", compute_type="int8")
segments, info = model.transcribe(voice_path, beam_size=5)
print("Detected language '%s' with probability %f" % (info.language, info.language_probability))
for segment in segments:
    print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))  # 这里循环输出识别出来的内容，并带有时间戳
